package com.ruoyi.know.service;

import java.util.List;
import com.ruoyi.know.domain.CommunityPosts;
import com.ruoyi.know.dto.TopPostDTO;

/**
 * 社区帖子Service接口
 *
 * @author ruoyi
 * @date 2025-02-10
 */
public interface ICommunityPostsService
{
    /**
     * 查询社区帖子
     *
     * @param postId 社区帖子主键
     * @return 社区帖子
     */
    public CommunityPosts selectCommunityPostsByPostId(Long postId);

    /**
     * 查询社区帖子列表
     *
     * @param communityPosts 社区帖子
     * @return 社区帖子集合
     */
    public List<CommunityPosts> selectCommunityPostsList(CommunityPosts communityPosts);

    /**
     * 新增社区帖子
     *
     * @param communityPosts 社区帖子
     * @return 结果
     */
    public int insertCommunityPosts(CommunityPosts communityPosts);

    /**
     * 修改社区帖子
     *
     * @param communityPosts 社区帖子
     * @return 结果
     */
    public int updateCommunityPosts(CommunityPosts communityPosts);

    /**
     * 批量删除社区帖子
     *
     * @param postIds 需要删除的社区帖子主键集合
     * @return 结果
     */
    public int deleteCommunityPostsByPostIds(Long[] postIds);

    /**
     * 删除社区帖子信息
     *
     * @param postId 社区帖子主键
     * @return 结果
     */
    public int deleteCommunityPostsByPostId(Long postId);

    /**
     * 获取社区帖子总数量
     * @return
     */
    public int getCommunityPostsCount();

    /**
     * 获取浏览量前五的帖子
     * @return
     */
    List<TopPostDTO> selectTop5PostsByVisit();
}
